namespace UnityActionSystem
{
    /// <summary>
    /// 事件数据基类
    /// </summary>
    public abstract class EventDataBase
    {
        /// <summary>
        /// 事件时间戳
        /// </summary>
        public float Timestamp { get; }

        /// <summary>
        /// 事件源ID（可选）
        /// </summary>
        public ulong SourceId { get; set; }

        protected EventDataBase()
        {
            Timestamp = UnityEngine.Time.time;
        }

        protected EventDataBase(ulong sourceId)
        {
            Timestamp = UnityEngine.Time.time;
            SourceId = sourceId;
        }
    }
}
